#ifndef __QUEUE_H__
#define __QUEUE_H__

typedef struct {
	void *data_start;//数据的起始地址
	int tail;//队尾的下标
	int front;//队首的下标
	int size;//每个元素的大小
	int capacity;//容量
}queue_t;
//初始化
int queue_init(queue_t **q, int size, int capacity);
//队满
int queue_is_full(const queue_t *q);
//队空
int queue_is_empet(const queue_t *q);
//入队
int queue_enq(queue_t *q, const void *data);
//出队
int queue_deq(queue_t *q, void *data);
//销毁
void queue_destroy(queue_t **q);

#endif

